package it.csi.finregio.finreges.dto;

import java.io.Serializable;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.CompareToBuilder;

public class Ente implements Comparable, Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 4003269508223252032L;
	private String idEnte;
	private String descrizione;
	private String tipoEnte ;
	public Ente() {
		super();
		// TODO Auto-generated constructor stub
	}
	public Ente(String idEnte) {
		this.idEnte=idEnte;
	}
	public String getIdEnte() {
		return idEnte;
	}
	public void setIdEnte(String idEnte) {
		this.idEnte = idEnte;
	}
	public String getDescrizione() {
		return descrizione;
	}
	public void setDescrizione(String descrizione) {
		this.descrizione = descrizione;
	}
	
	/**
	 * @see java.lang.Comparable#compareTo(Object)
	 */
	public int compareTo(Object object) {
		Ente myClass = (Ente) object;
		return new CompareToBuilder().append(this.descrizione,
				myClass.descrizione).append(this.idEnte, myClass.idEnte)
				.toComparison();
	}
	/**
	 * @see java.lang.Object#equals(Object)
	 */
	public boolean equals(Object object) {
		if (!(object instanceof Ente)) {
			return false;
		}
		Ente rhs = (Ente) object;
		return getIdEnte().equals(rhs.getIdEnte());
	}
	/**
	 * @see java.lang.Object#hashCode()
	 */
	public int hashCode() {
		return getIdEnte().hashCode();
	}
	/**
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
		return new ToStringBuilder(this)
				.append("idEnte",
						this.idEnte)
						.append("descrizione", this.descrizione)
						.append("tipoEnte",this.tipoEnte).toString();
	}
	public String getTipoEnte() {
		return tipoEnte;
	}
	public void setTipoEnte(String tipoEnte) {
		this.tipoEnte = tipoEnte;
	}
	
}
